/*
 * Author  : Leo <lipf160627@163.com>
 * Created : 2025-7-27
 * Desc    : Components
 */

#pragma once

#include <memory>

#include "asrpro.hpp"
#include "co_mcu.hpp"
#include "led.hpp"
#include "lcd.hpp"
#include "servo.hpp"
#include "ultrasonic.hpp"

class Components {
public:
    Components();
    ~Components() = default;   // 显式要求编译器生成默认析构函数，推荐做法，也可以不写

    std::shared_ptr<Asrpro>     asrpro;
    std::shared_ptr<CoMcu>      coMcu;
    std::shared_ptr<Led>        led;
    std::shared_ptr<Lcd>        lcd;
    std::shared_ptr<Servo>      servo;
    std::shared_ptr<Ultrasonic> ultrasonic;
};